import { ButtonType } from "ant-design-vue/es/button";
import type { PropType,CSSProperties } from "vue";
export const footerProps = {
  confirmLoading: { type: Boolean },
  /**
   * @description: Show close button
   */
  showCancelBtn: { type: Boolean, default: true },
  cancelButtonProps: Object as PropType<Recordable>,
  cancelText: { type: String, default: "取消" },
  /**
   * @description: Show confirmation button
   */
  showOkBtn: { type: Boolean, default: true },
  okButtonProps: Object as PropType<Recordable>,
  okText: { type: String, default: "确定" },
  okType: { type: String as PropType<ButtonType>, default: "primary" },
  showFooter: { type: Boolean },
  footerHeight: {
    type: [String, Number] as PropType<string | number>,
    default: 60
  }
};
export const basicProps = {
  title: { type: String, default: "" },
  loadingText: { type: String },
  showDetailBack: { type: Boolean, default: true },
  visible: { type: Boolean },
  loading: { type: Boolean },
  maskClosable: { type: Boolean, default: true },
  getContainer: {
    type: [Object, String]
  },
  closeFunc: {
    type: [Function, Object],
    default: null
  },
  wrapStyle:{ type: Object as PropType<CSSProperties> },
  request: { type: Function },
  showLoading: { type: Boolean, default: true }, //请求时是否显示加载动画
  destroyOnClose: { type: Boolean },
  ...footerProps
};
